package com.huilian.iotbox.admin.wap.service;

import com.github.pagehelper.PageInfo;
import com.huilian.iotbox.data.dto.CommodityStockRecordDto;
import com.huilian.iotbox.data.dto.CommodityStockRecordItemDto;
import com.huilian.iotbox.data.po.CommodityStockRecord;
import com.huilian.iotbox.data.vo.CommodityStockRecordVo;

import java.util.List;

/**
 * @author 龙 路 飞
 * @CreateDate: 2023-09-01 14:35
 * @Description:
 */
public interface CommodityStockRecordService {
    /**
     * 根据条件查询
     */
    List<CommodityStockRecordVo> findCommodityStockRecordListByTime(CommodityStockRecordDto commodityStockRecordDto);

    /**
     * 根据条件查询SUM
     */
    CommodityStockRecordVo findCommodityStockRecordSumByTime(CommodityStockRecordDto commodityStockRecordDto);
    /**
     * 根据条件查询
     */
    PageInfo findCommodityStockRecordList(CommodityStockRecordDto commodityStockRecordDto);

    /**
     * 生成备货单
     */
    void insertInventory(CommodityStockRecordDto commodityStockRecordDto);

    /**
     * 查询备货单
     */
    PageInfo findInventoryByUserId(CommodityStockRecordDto commodityStockRecordDto);

    /**
     * 缺货判断查询
     */
    PageInfo findTakeStockOfOutOfStock(CommodityStockRecordDto commodityStockRecordDto);

    List<CommodityStockRecordVo> findStatsCommodityStockRecordList(CommodityStockRecordDto commodityStockRecordDto);

    Integer updateCommodityStockRecordStatus(CommodityStockRecordDto commodityStockRecordDto);

    Integer updateCommodityStockRecordItemStatus(CommodityStockRecordDto commodityStockRecordDto);

    Integer insert(CommodityStockRecord commodityStockRecord);

    int add(CommodityStockRecordDto commodityStockRecordDto);

    CommodityStockRecordVo findCommodityStockRecordSumByDeviceNo(CommodityStockRecordDto commodityStockRecordDto);
}
